import { BlogInfo } from './types';

/**
 * 合集查询参数
 */
export interface CollectionQueryParam {
  id?: number;
  name?: string;
  description?: string;
  coverImage?: string;
  deleted?: number;
  createTime?: Date | string;
  createBy?: number;
  updateTime?: Date | string;
  updateBy?: number;
}

/**
 * 合集分页查询参数
 */
export interface CollectionPageQuery extends PageQuery {
  name?: string;
  description?: string;
}

/**
 * 合集-文章分页查询参数
 */
export interface CollectionBlogPageQuery extends PageQuery {
  id: number;
}

/**
 * 合集详细信息
 */
export interface CollectionVO {
  id?: number;
  name: string;
  description?: string;
  coverImage?: string;
  deleted?: number;
  createTime?: Date | string;
  createBy?: number;
  updateTime?: Date | string;
  updateBy?: number;
}

/**
 * 合集分页响应类型
 */
export type CollectionPageResult = PageResult<CollectionVO[]>;

/**
 * 合集文章分页响应类型
 */
export type CollectionBlogPageResult = PageResult<BlogInfo[]>;

/**
 * 博客合集关联请求DTO
 */
export interface BlogCollectionAssociateVO {
  blogId: string;
  collectionId: string;
}
